package com.lulalei.dbviewer.dto;

import com.lulalei.dbviewer.commons.enums.DatabaseTypeEnums;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;


/**
 * 数据库连接DTO
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DBConnectDTO {
    /**
     * 数据库名称
     */
    @NotBlank(message = "数据名称为必填项")
    private String name;
    /**
     * 数据库名
     */
    private String dbName;
    /**
     * 数据库连接地址
     */
    private String url;
    /**
     * 用户名
     */
    private String username;
    /**
     * 密码
     */
    private String password;
    /**
     * 驱动
     */
    private String driverClassName;
    /**
     * 数据库类型
     */
    private DatabaseTypeEnums dbType;

    /**
     * 数据库连接注释
     */
    private String comment;

    /**
     * 是否是测试连接
     */
    @NotNull(message = "test字段不能为null")
    private Boolean test;

    /**
     * 1:从yaml中获取参数，2：手动获取参数
     */
    @NotNull(message = "请选择参数获取类型")
    @Min(value = 1,message = "参数输入类型错误")
    @Max(value = 2,message = "参数输入类型错误")
    private Integer flag;
}
